/**
 * 格式化时间对象
 * ****注意
 * 1： new Date()时   内部参数不能有-
 * @example dateFormat(new Date(),'YYYY-mm-dd HH-MM-SS') => '2021-07-03 11-14-00'
 * @param {*} date Date对象实例
 * @param {*} fmt 格式化规则
 * @returns 格式化后的字符串
 */
export const dateFormat = (date, fmt) => {
    let ret;
    const opt = {
        'Y+': date.getFullYear().toString(), // 年
        'm+': (date.getMonth() + 1).toString(), // 月
        'd+': date.getDate().toString(), // 日
        'H+': date.getHours().toString(), // 时
        'M+': date.getMinutes().toString(), // 分
        'S+': date.getSeconds().toString(), // 秒
        // 有其他格式化字符需求可以继续添加，必须转化成字符串
    };
    for (let k in opt) {
        ret = new RegExp('(' + k + ')').exec(fmt);
        if (ret) {
            fmt = fmt.replace(ret[1], ret[1].length === 1 ? opt[k] : opt[k].padStart(ret[1].length, '0'));
        }
    }
    return fmt;
};
